<?php
    
include ('autoloading_classes.include.php');
    
    /**
    * Gestisce la connessione al database.
    *
    * \author Gianmarco Nalin
    * \date 02/01/2013
    */
    class Database {
        
        //! Connessione al database.
        /*!
            Vengono utilizzati i driver PDO per l'interazione con il database.
        */
        private static $connection = null;
        
        //! Costruttore privato.
        /*!
            Viene definito privato per garantire il singleton.
        */
        private function __construct() {
        }
        
        //! Metodo per avere la connessione al database.
        public static function getInstance() {
            if (self::$connection == null) {
                self::$connection = new PDO(
                                        "mysql:host=" . Site::DB_HOST . ";dbname=" . Site::DB_NAME,
                                        Site::DB_USERNAME,
                                        Site::DB_PASSWORD,
                                        array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")
                                    );
            }
            
            return self::$connection;
        }
        
    }
    
?>
